package com.example.dingtalklogin.manager.dingtalk;

import lombok.Data;

import java.util.List;

@Data
public class RobotSendMsgRequest {
    /**
     * 消息模板参数。
     * https://open.dingtalk.com/document/group/message-types-and-data-format
     * 参考文档消息类型和数据格式中不同消息类型、消息模板key对应的消息模板参数。
     */
    private String msgParam;
    /**
     * 消息模板key。
     * https://open.dingtalk.com/document/group/message-types-and-data-format
     * 参考文档消息类型和数据格式中不同消息类型对应的消息模板key。
     */
    private String msgKey;
    /**
     * 开放的群id。
     */
    private String openConversationId;
    /**
     * 酷应用机器人，此处为酷应用机器人的robotCode。
     */
    private String robotCode;
    /**
     * 酷应用的code。
     */
    private String coolAppCode;

    @Data
    public static class TextMsgParam {
        private At at;
        private Text text;
        private String msgtype;
    }

    @Data
    public static class Text {
        private String content;
    }

    @Data
    public static class SampleActionCard {
        /**
         * 标题
         */
        private String title;
        /**
         * 内容
         */
        private String text;
        /**
         * 链接文字
         */
        private String singleTitle;

        /**
         * 链接内容
         */
        private String singleURL;
    }

    @Data
    public static class At {
        /**
         * 被@人的手机号。
         */
        private List<String> atMobiles;
        /**
         * 被@人的用户userid。
         */
        private List<String> atUserIds;
        /**
         * @所有人是true，否则为false。
         */
        private Boolean isAtAll;
    }
}
